/**
* <p>Title: IResourceService.java</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2015</p>
* <p>Company: SiySoft</p>
* @author liguanghui
* @date 2015年6月2日
* @version 1.0
*/
package com.siysoft.tc.base.service;

import org.springframework.web.multipart.MultipartFile;

import com.siysoft.tc.base.bean.to.Resource;

/**
 * <p>Title: IResourceService</p>
 * <p>Description: </p>
 * <p>Company: SiySoft</p>
 * @author    liguanghui
 * @date       2015年6月2日
 */
public interface IResourceService {
	/**
	 * 方法摘要： 返回资源URL
	 * 作者：liguanghui
	 * 日期：2015年6月9日 上午8:06:38
	 * @param resType 资源类型
	 * @param targetId PK
	 * @return 资源相对路径
	 * @throws Exception
	 */
	String getResourceUrl(String resType,int targetId) throws Exception;
	
	/**
	 * 方法摘要： 插入资源信息
	 * 作者：liguanghui
	 * 日期：2015年6月9日 上午8:07:10
	 * @param resource
	 */
	void insertResource(Resource resource,MultipartFile file);
	/**
	 * 方法摘要： 插入base64格式
	 * 作者：liguanghui
	 * 日期：2015年6月9日 下午1:17:57
	 * @param resource
	 * @param file
	 */
	void insertResource(Resource resource,String base64);
	
	/**
	 * 方法摘要： 更新资源信息
	 * 作者：liguanghui
	 * 日期：2015年6月9日 上午8:08:11
	 * @param resource
	 */
	void updateResource(Resource resource);
	/**
	 * 方法摘要： 生成文件名
	 * 作者：liguanghui
	 * 日期：2015年6月9日 上午11:46:41
	 * @param file
	 * @return
	 */
	 String generateFilename(MultipartFile file);
	 /**
	  * 
	  * 方法摘要： 根据后缀名生成文件名
	  * 作者：liguanghui
	  * 日期：2015年6月9日 下午1:13:35
	  * @param filename
	  * @return
	  */
	 String generateFilename(String filesuffix);
	 /**
	 * 方法摘要： 获取文件的全部路径
	 * 作者：liguanghui
	 * 日期：2015年6月9日 上午10:48:42
	 * @param filename
	 * @return
	 */
	 String getFullPath(String filename);
	 
	 /**
	 * 方法摘要： 根据文件名获取相对路径
	 * 作者：liguanghui
	 * 日期：2015年6月9日 上午10:48:59
	 * @param filename
	 * @return
	 */
	 String getRelativePath(String filename);
	 /**
	  * 方法摘要： 获取图片上传路径
	  * 作者：liguanghui
	  * 日期：2015年6月9日 下午3:32:21
	  * @return
	  */
	 String getimgPath();

	 /**
	  * 查询用户已经上传的图片
	  * @param resType
	  * @param targetId
	  * @return
	  * @throws Exception
	  */
	 Resource getResource(String resType, int targetId) throws Exception;

	 /**
	  * 更新或保存图片
	  * @param resource
	  * @param local
	  */
	void changeResource(Resource resource, String local);
	
	/**
	 * 获取resourceById
	 * 
	 * @param parseInt
	 * @return
	 * @throws Exception
	 */
	Resource getResourceById(int parseInt) throws Exception;
}
